package ch.fusun.baron.weather;

/**
 * Representation of a Weather Cube
 */
public class Cube {

	/**
	 * Kelvin
	 */
	private float temperature;
	/**
	 * kg
	 */
	private float vapour;
	/**
	 * kg
	 */
	private float water;

	/**
	 * Coordinates of the cube
	 */
	private final int x, y, z;

	/**
	 * Is the cube earth
	 */
	private boolean isEarth;

	/**
	 * Copy Constructor
	 * 
	 * @param cube
	 *            other cube
	 */
	public Cube(Cube cube) {
		this.temperature = cube.getTemperature();
		this.vapour = cube.getVapour();
		this.water = cube.getWater();
		this.x = cube.x;
		this.y = cube.y;
		this.z = cube.z;
	}

	/**
	 * Constructor (sets all values to 0)
	 * 
	 * @param x
	 * @param y
	 * @param z
	 */
	public Cube(int x, int y, int z) {
		this.temperature = 0;
		this.vapour = 0;
		this.water = 0;
		this.x = x;
		this.y = y;
		this.z = z;
	}

	/**
	 * @return the temperature in �C
	 */
	public float getTemperature() {
		return temperature;
	}

	/**
	 * @param temperature
	 *            the temperature in �K
	 */
	public void setTemperature(float temperature) {
		this.temperature = temperature;
	}

	/**
	 * @return amount of vapour in kg
	 */
	public float getVapour() {
		return vapour;
	}

	/**
	 * @param vapour
	 *            amount of vapour in kg
	 */
	public void setVapour(float vapour) {
		this.vapour = vapour;
	}

	/**
	 * @return amount of water in kg
	 */
	public float getWater() {
		return water;
	}

	/**
	 * @param water
	 *            amount of water in kg
	 */
	public void setWater(float water) {
		this.water = water;
	}

	/**
	 * @return z
	 */
	public int getZ() {
		return this.z;
	}

	/**
	 * @return x
	 */
	public int getX() {
		return x;
	}

	/**
	 * @return y
	 */
	public int getY() {
		return y;
	}

	/**
	 * @return Is the cube earth?
	 */
	public boolean isEarth() {
		return isEarth;
	}

	/**
	 * @param isEarth
	 *            true==it's earth, bitches!
	 */
	public void setEarth(boolean isEarth) {
		this.isEarth = isEarth;
	}

}
